﻿/// <reference path="../../jquery-1.5.1-vsdoc.js" />
/// <reference path="BusinessProvider/fKanban.js" />
/// <reference path="BusinessProvider/fKanban.user.js" />
/// <reference path="../BusinessProvider/fKanban.sprint.js" />

var _sprintProvider = new fKanban.sprint();
$(document).ready(function () {
    var userStoryId = parseInt(document.URL.match(/\d+$/i));

    /* 日期选择datepicker */
    $("#StartDate").datepicker({ dateFormat: 'yy-mm-dd', });
    $("#EndDate").datepicker({ dateFormat: 'yy-mm-dd', });

    /* 打开添加窗口 */
    $(".jAddNewItem").click(function () {
        sprint.reset();
        $(".sprint-add-panel>h3").text("添加冲刺 Add Sprint");
        $("#btnAddSprint").val("添加冲刺 Add Sprint");
        $("." + $(this).attr("data-value")).show();
    })

    /* 关闭窗口 */
    $(".linkCancel").click(function () {
        hide(function () {
            $(".sprint-add-panel>h3").text("添加冲刺Add Sprint");
            $("#btnAddSprint").val("添加冲刺Add Sprint");
        });
    });

    /* 添加冲刺功能 */
    $("#btnAddSprint").click(function () {
        var item = sprint.get(userStoryId);
        item.Id = parseInt($("#Id").val());
        if (isNaN(item.Id)) {
            _sprintProvider.add(item, callBack);
        } else if (item.Id > 0) {
            _sprintProvider.update(item, callBack);
        }

        function callBack(rowsAffected) {
            location.reload();
        }
    });

    /* 删除冲刺功能 */
    $("a[data-rowid][class=remove][data-sprintid]").live("click", function () {
        if (!confirm("确认删除该项?"))
            return;
        var sprintid = $(this).attr("data-sprintid");
        _sprintProvider.remove(sprintid, function (rowsAffected) {
            location.reload();
        });
    })

    /* 编辑冲刺页面 */
    $("a[data-rowid][class=modify][data-sprintid]").live("click", function () {
        sprint.reset();
        var sprintid = parseInt($(this).attr("data-sprintid"));
        $(".sprint-add-panel").show();
        $(".sprint-add-panel>h3").text("编辑冲刺 Modify Sprint");
        $("#btnAddSprint").val("编辑冲刺 Modify Sprint");
        _sprintProvider.loadDataById(sprintid, function (result) {
            $("#Id").val(sprintid);
            $("#Name").val(result.Name);
            $("#Description").val(result.Description);
            $("#StartDate").val(result.StartDateDescription);
            $("#EndDate").val(result.EndDateDescription);

            $("#ProductManager").val(result.ProductManager);
            $("#ScrumMaster").val(result.ScrumMaster);
            $("#TestManager").val(result.TestManager);
        });
    })

    var sprint = {};
    /* 获取表单数据 */
    sprint.get = function (userStoryId) {
        return {
            Id: $("#Id").val(),
            UserStoryId: userStoryId,

            Name: $("#Name").val(),
            Description: $("#Description").val(),
            StartDate: $("#StartDate").val(),
            EndDate: $("#EndDate").val(),

            ScrumMaster: $("#ScrumMaster").val(),
            TestManager: $("#TestManager").val()
        };
    }
    /* 重置表单 */
    sprint.reset = function () {
        $("#Id").val("");
        $("#Name").val("");
        $("#Description").val("");
        $("#Duration").val("");
        $("#ScrumMaster").val("");
        $("#TestManager").val("");
    }
});